package cn.edu.nsmc.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;

@Data
@TableName("sys_worksheet_record")
public class SysWorksheetRecord implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    private Long id;
    /**
     * 申请者Id
     */
    private Integer applicantId;
    /**
     * 审批者Id
     */
    private Integer auditorId;
    /**
     * 审核状态 0等待处理  1审批完成（管理员处理完成） 2处理完成（维修人员处理完成） 3等待维修人员处理  -1审核失败'
     */
    private Integer auditStatus;
    /**
     * 工单类型
     */
    private Integer worksheetType;


    /**
     * 工单的顶级类型（判断是审批或者维修工单）后端判断，不存入数据库
     */
    @TableField(exist = false)
    private Integer worksheetTypePid;
    /**
     * 驳回原因
     */
    private String cause;
    /**
     * 备注信息
     */
    private String memo;
    /**
     * 工单附件地址
     */
    private String filePath;
    /**
     * 维修人员Id
     */
    private Long repairmanId;
    /**
     * 工单申请时间
     */
    private Date applyTime;
    /**
     * 工单开始时间
     */
    private Date startTime;
    /**
     * 工单结束时间
     */
    private Date endTime;
    /**
     * 工单优先级
     */
    private Integer priority;
    /**
     * 回执信息 （通过审批后可能存在回执信息）
     */
    private String replyInfo;
    /**
     * 管理员备注
     */
    private String adminNote;

    @TableField(exist = false)
    private List<SysWorksheetAuditNode> nodes;

    @TableField(exist = false)
    private SysWorksheetRepairEntity repairEntity;
}
